package com.lbw.flyweight;

import java.util.HashMap;

/**
 * @author lbw
 * @version 1.0
 * @date 2021/6/13 14:29
 */
// 网站工厂类, 根据需求返回具体的网站
public class WebsiteFactory {

    private HashMap<String, ConcreteWebsite> pool = new HashMap<>();

    // 根据网站类型返回一个网站, 如果没有就创建一个网站加入到池中并返回
    public Website getWebsiteCategory(String type) {
        if (!pool.containsKey(type)) {
            pool.put(type, new ConcreteWebsite(type));
        }

        return (Website) pool.get(type);
    }

    // 获取网站分类的总数
    public int getWebsiteCount() {
        return pool.size();
    }
}
